package com.cswangdao.service;

import com.cswangdao.domain.dto.*;
import com.cswangdao.domain.po.Order;
import com.cswangdao.domain.vo.ChannelVo;
import com.cswangdao.domain.vo.OrderDetailVo;
import com.cswangdao.domain.vo.WXOrderListVo;
import com.cswangdao.result.PageResult;

import java.util.List;
import java.util.Map;

public interface OrderService {

    PageResult<Order> pageQueryInfo(OrderListDTO orderListDTO);

    OrderDetailVo getOrderDetailById(int orderId);

    boolean deleteById(int orderId);

    boolean modifyOrderStatus(ShipDTO shipDTO);

    List<ChannelVo> channelList();

    boolean modifyOrderRefund(RefundDTO refundDTO);

    Map<String, Object> submit(WXOrderSubmitDTO wxOrderSubmitDTO);

    PageResult<WXOrderListVo> queryOrderByUserIdAndStatus(Map<String, Object> map);

    Map<String, Object> queryOrderDetail(Integer orderId);

    void deleteOrder(Map<String, Object> map);

    void confirmOrder(Map<String, Object> map);

    void cancelOrder(Map<String, Object> map);

    void refundOrder(WXRefundDTO wxRefundDTO);
}
